//
//  UIButton+ImageTitleSpacing.h
//  YunDa
//
//  Created by lixiqing on 2017/8/30.
//  Copyright © 2017年 XQ. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef NS_ENUM(NSUInteger, MKButtonEdgeInsetsStyle) {
    MKButtonEdgeInsetsStyleTop, // image在上，label在下
    MKButtonEdgeInsetsStyleLeft, // image在左，label在右
    MKButtonEdgeInsetsStyleBottom, // image在下，label在上
    MKButtonEdgeInsetsStyleRight // image在右，label在左
};

@interface UIButton (ImageTitleSpacing)

/**
 *  设置button的titleLabel和imageView的布局样式，及间距
 *
 *  @param style titleLabel和imageView的布局样式
 *  @param space titleLabel和imageView的间距
 */
- (void)xq_layoutButtonWithEdgeInsetsStyle:(MKButtonEdgeInsetsStyle)style
                        imageTitleSpace:(CGFloat)space;

/// 使用图像和文本生成上下排列的属性文本
///
/// @param frame      布局
/// @param title    标题文字
/// @param image      图片
/// @param font   标题字体大小
/// @param titleColor 标题颜色
/// @param bkgColor    图像和标题间距
///
/// @return 属性文本
+ (instancetype)xq_initWithFrame:(CGRect)frame Title:(NSString*)title image:(NSString *)image titleFont:(UIFont*)font titleColor:(UIColor*)titleColor  BackgColor:(UIColor*)bkgColor target:(id)target action:(SEL)action;
/**
 创建文本按钮
 
 @param title               标题文字
 @param fontSize            字体大小
 @param normalColor         默认颜色
 @param highlightedColor    高亮颜色
 @param backgroundImageName 背景图像名称
 
 @return UIButton
 */
+ (instancetype)xq_textButton:(NSString *)title fontSize:(CGFloat)fontSize normalColor:(UIColor *)normalColor highlightedColor:(UIColor *)highlightedColor backgroundImageName:(NSString *)backgroundImageName;
/**
 创建文本按钮
 
 @param title            标题文字
 @param fontSize         字体大小
 @param normalColor      默认颜色
 @param highlightedColor 高亮颜色
 
 @return UIButton
 */
+ (instancetype)xq_textButton:(NSString *)title fontSize:(CGFloat)fontSize normalColor:(UIColor *)normalColor highlightedColor:(UIColor *)highlightedColor;

/**
 创建图像按钮
 
 @param imageName           图像名称
 @param backgroundImageName 背景图像名称
 
 @return UIButton
 */
+ (instancetype)xq_imageButton:(NSString *)imageName backgroundImageName:(NSString *)backgroundImageName;
@end
